<?php 
include("funk/game/calcMaxFleetSize.php");

//Steuersatz ermitteln
$result=$db->query("SELECT Steuer_Flug FROM ally WHERE Id='$spieler[Ally_Id]';");
if($db->num_rows($result)==1){
    $steuersatz=$db->result(0,"Steuer_Flug");
}else{
    $steuersatz=0;
}
//Ziel setzen 
if(!isset($_SESSION[ziel_x])){ //nimmt den aktuellen Planeten, fals noch kein Ziel gesetzt wurde
    $_SESSION[ziel_x]=$planet[PosX];
	$_SESSION[ziel_y]=$planet[PosY];
}
if(isset($_REQUEST[ziel_x])){ //übernimmt neues X
    $_SESSION[ziel_x]=$_REQUEST[ziel_x];
}
if(isset($_REQUEST[ziel_y])){  //übernimmt neues Y
    $_SESSION[ziel_y]=$_REQUEST[ziel_y];
}
//in locale Variablen übergeben
$x=$_SESSION[ziel_x];
$y=$_SESSION[ziel_y];
//neue X Werte in die Session schreiben
$_SESSION[x]=$x;
$_SESSION[y]=$y;


if($_POST['do']=="abflug" AND $_SESSION[acid]==$_REQUEST[acid]){
    //--------------------------------------------------------------------START DES ABFLUGSYSTEMS
    $abfrage = "SELECT * FROM planet WHERE PosX='$x' AND PosY='$y' AND Server='$planet[Server]'";
    $result=$db->query($abfrage);
    $anzahl= $db->num_rows($result);
    $a=0;
    if($anzahl==0){//Scriptabbruch wenn kein Planet gefunden wurde (sollte bei normaler Verwendung des Scriptes nicht vorkommen
		show_error("It was not possible to find a planet with those coordinates on the server. You will be redirected to the Startpage to avoid further problems.",true);
    }
    $row = $db->fetch_assoc($result);
    //Planetentyp festlegen
    if($row[Spieler]==$spieler[Id]){
    	$typ="eigen";
    }elseif($row[Spieler]==0){
        $typ="frei";
	}else{
	    $typ="other";
	}
    //Normale Flugzeit berechnen
    //zunächst den Abstand der X Koordinaten
	if($planet[PosX] > $row[PosX]){
	    $abstandX=$planet[PosX]-$row[PosX];
	}else{
    	$abstandX=$row[PosX]-$planet[PosX];
	}
	//dann der Abstand der Y Koordinaten
    if($planet[PosY] > $row[PosY]){
     	$abstandY=$planet[PosY]-$row[PosY];
	}else{
    	$abstandY=$row[PosY]-$planet[PosY];
	}
	//Abstand berechnen (mit sqrt bekommt man dann den direkten Flugweg)
    $abstand=sqrt(($abstandX*$abstandX)+($abstandY*$abstandY));
	//Daraus ergibt sich dann die Flugzeit
    $flugzeit=$abstand*($config[flug][flugzeit]/$config['Speed']);
    //Laden des Kommanders
    $abfrage = "SELECT * FROM kommander WHERE Start_Planet='$planet[Id]' AND Id='".intval($_POST[kommander])."' AND Auftrag='' AND Spieler='$spieler[Id]';";
    $result=$db->query($abfrage);
    $anzahl= $db->num_rows($result);
    if($kommander=$db->fetch_assoc($result)){
        //1. Bedingungen prüfen
        //1.1 Schiffe auszählen (Flottenstärke ermitteln)
        $gesamt=0; //Anzahl aller Schiffe
        $lager=0; //Lagerraum aller Schiffe
        $verbrauch=0; //Verbrauch für die gesammte Flotte
        $tempo=0;
        $schiffeOk=true;
        $belastung=0; //Gesamtpunktzahl der Schiffe (wird zur Berechnung der Auslastung verwendet)
        //Schiffe
        foreach($_POST[schiff] AS $key=>$value){
	        $ship=$config_schiff[$key]; //Schiffskonfiguration laden
            if($planet["Schiff$key"]<$value){
				//Es wurden mehr Schiffe ausgewöhlt, als auf dem Planeten vorhanden
			    $schiffeOk=false;
			}
			if($value<0){
				//Es wurde eine negative Zahl eingetragen
    			$schiffeOk=false;
			}
            //Schiffe aufsummieren
			$gesamt=$gesamt+$value;
			//Lagergröße berechnen
            $lager=$lager+($value*$ship[lager]);
	        if(debug) "<br>$value Schiffe mit $ship[lager] Lagerraum";
            //Verbrauch aufsummieren
			$verbrauch=$verbrauch+($value*$ship[verbrauch]);
            if($tempo<$ship[flugzeit] AND $value>0){//Kleinstes gemeinsames Tempo wird gesucht
			    $tempo=$ship[flugzeit]; 
			}
			//Belastung (bestehend aus dem Schiffspunkten) wird aufsummiert.
            $belastung+=$value*$ship[punkte];
        }
	    if(debug) echo "<br>Ergebnis ist: Gesamt: $gesamt, Lager: $lager, Verbrauch: $verbrauch, Tempo: $tempo und Belastung=$belastung";
        //Sparmaßnahmen
		if($_POST[geschwindigkeit]>=10 AND $_POST[geschwindigkeit]<=100){
			$geschwindigkeit=intval($_POST[geschwindigkeit]);
		}else{
			die("Ungültiger Wert für die Geschwindigkeit (Cheating)->Scriptabbruch");
		}
		//Flugzeit wird durch die Geschwindigkeit verlangsamt
        $flugzeit=$flugzeit*(1+((100-$geschwindigkeit)/100));
        $spar=1*$geschwindigkeit/100;
        if($spar<0.5){ //Mehr als die Hälfte kann nicht gesparrt werden
		    $spar=0.5;
		}
        //$flugkosten=$verbrauch*$abstand*$spar/($config[flug][flugzeit]/$config[Speed])/$config[flug][felderproverbrauch];
        $flugkosten=ceil($verbrauch+($verbrauch*$abstand/$config[flug][felderproverbrauch]))*$spar;
        if($_POST[auftrag]=="station"){
                $flugkosten+=intval($_POST[dauer])/($config[flug][stationverbrauch]*$config[Speed])*$verbrauch;
        }		
        //Flugkosten durch Stationszeit
        //TODO:
        //Steuern
        $steuer=$flugkosten*$steuersatz/100;
        $flugkosten=$flugkosten+$steuer;
        //Ressourcen
        $ressOk=true;
        $ress=0;
        setType($_POST[ress],"array");
        foreach($_POST[ress] AS $key=>$value){
            if($planet["Ress$key"]<$value){
    			$ressOk=false;
			}
            if($value<0){
    			$ressOk=false;
			}
            $ress=$ress+$value;
        }
        //FLUGZEIT
		if($_POST[auftrag]=="spion" OR $_POST[auftrag]=="erkunden"){ 
			$flugzeit=ceil($flugzeit*$tempo);
		}elseif($_POST[auftrag]=="fraktion" AND $_POST[anfuehrer]==0){
		    $flugzeit=ceil($config[flug][fraktionsflug]/$config[Speed]);
		}elseif($_POST[auftrag]=="fraktion" OR $_POST[auftrag]=="deffraktion"){
		    $flugzeit=ceil($config[flug][fraktionsflugmin]/$config[Speed]);
		}else{
		    //Spionageflüge haben keine Flugzeit
            $flugzeit=ceil(($flugzeit*$tempo)+($config[flug][startzeit]/$config['Speed']));
        }
		//echo showtime($flugzeit);
        $ankunft=date(U)+$flugzeit;
        //Gemeinsames Angreifen
        $gemattOk=true;
        if(($_POST[auftrag]=="gematt" OR $_POST[auftrag]=="fraktion") AND $_POST[anfuehrer]!=0){
            $result3=$db->query("SELECT * FROM kommander WHERE Auftrag='$_POST[auftrag]' AND Ziel_Planet='$row[Id]' AND Id='$_POST[anfuehrer]' AND Ziel_Zeit>$ankunft;");
            if($row3 = $db->fetch_assoc($result3)){
                $ankunft=$row3[Ziel_Zeit];
                //echo "sysncronisiere auf $ankunft";
                IF($_POST[auftrag]=="fraktion"){
				    $_POST[auftrag]="helpfraktion";
				}else{
				    $_POST[auftrag]="helpatt";
				}
            }else{
			    $gemattOk=false;
			}
        }
		//Spielerdaten des anderen Spielers laden
        if($row[Spieler]>0){
            $sp=$db->fetch_assoc($db->query("SELECT * FROM spieler WHERE Id='$row[Spieler]';"));
            if(date(U)-$sp[Last]>$config[inaktiv][mark]){
    		    $noobschutz=$spieler[Noobschutz]*2; //Also kein noobschutz
			}elseif($sp[Gesamtpunkte]<$config[noobschutz][basic]){
			    $noobschutz=0;
			}elseif($sp[Noobschutz]>$sp[Gesamtpunkte]){
    			$noobschutz=$sp[Noobschutz]*$config[noobschutz][main];
			}else{ 
			    $noobschutz=$sp[Gesamtpunkte]*$config[noobschutz][main];
			}   
            $urlaub=$sp[Urlaub_Bis];
	        //MADS
	        if($_SERVER['REMOTE_ADDR']==$sp[IP] AND $spieler[Id]!=$sp[Id]){
	            $db->query("INSERT INTO multis(Zeit, Server, Spieler1_Id, Spieler1_Name, Spieler2_Id, Spieler2_Name, Aktion) VALUES(".date(U).", $spieler[Server], $spieler[Id], '$spieler[Name]', '$sp[Id]','$sp[Name]','".$db->real_escape_string($_POST[auftrag])."');");
	        }
        }
        
        
        
        //1.2 Bedingungen abfragen   
        //1.2.1 Überprüfen, ob schon ein Allyflug des Spielers am Laufen ist
        $result = $db->query("SELECT count(*) AS count FROM kommander WHERE Auftrag = 'ally' AND Spieler = " . $_SESSION[spieler][Id]);
        $anzahl_allyfluege = $db->result(0, "count");
        if($_POST[auftrag]==""){
		    $error="Es wurde kein Auftrag ausgewählt";
		}elseif($belastung>calcMaxFleetSize(calclevel($kommander[Erfahrung])) AND $_POST[auftrag]!="verleg"){
	        $error="Der Kommander ist zu schwach";
		}elseif($_POST[auftrag]=="spion" AND $typ=="eigen"){
	        $error="Du kannst dich nicht selbst auspionieren";
	    }elseif($_POST[auftrag]=="kolo" AND $typ!="frei"){
	        $error="Dieser Planet kann nicht kolonisiert werden";
		}elseif($_POST[auftrag]=="att" AND $typ!="other"){
	        $error="Dieser Planet kann nicht angegriffen werden";
	    }elseif($_POST[auftrag]=="gematt" AND $typ!="other"){
	        $error="Dieser Planet kann auch gemeinsam nicht angegriffen werden";
	    }elseif($_POST[auftrag]=="station" AND $typ!="other"){
	        $error="Auf eigenen oder freien Planeten kann keine Flotte abgestellt werden";
		}elseif($_POST[auftrag]=="verlegen" AND $typ!="eigen"){
	        $error="Flotten können nur auf eigene Planeten verlegt werden";
		}elseif($_POST[auftrag]=="fraktion" AND $row[Typ]!="fraktion"){
		    $error="Das ist kein Fraktionsplanet"; 
		}elseif($urlaub>date(U)) {
	        $error="Der Spieler ist im Urlaub!!!";
		}elseif($gesamt==0){
	        $error="Ohne Schiffe wird erstma gar nicht geflogen";
		}elseif($anzahl!=1){
	        $error="Der Kommander konnte nicht gefunden werden";
		}elseif(!$schiffeOk){
	        $error="Du besitzt nicht soviele Schiffe oder hast ungültige Werte eingegeben";
		}elseif($ress>$lager){
	        $error="Du besitzt nicht genug Lagerraum";
		}elseif(!$ressOk){
	        $error="Du besitzt nicht so viele Ressourcen oder hast ungültige Werte eingegeben!";
		}elseif($planet[PosX]==$x AND $planet[PosY]==$y){
	        $error="Den gleichen Planeten anzufliegen, ist auch irgendwie witzlos";
		}elseif(!$gemattOk){
	        $error="Du konntest die Flotte von $row2[Name] nicht mehr rechtzeitig erreichen";
	    }elseif($spieler[Gesamtpunkte]>$noobschutz AND $row[Spieler]>0 AND ($_POST[auftrag]=="att" OR $_POST[auftrag]=="gematt")){
	        $error="Der Spieler kann von dir nicht angegriffen werden (Noobschutz)";
		}elseif($planet["Ress".$config[flugress]]<$flugkosten){
	        $error="Du kannst dir diesen Flug gar nicht leisten (nur ".round($planet["Ress".$config[flugress]])." von $flugkosten)";
        }elseif($_POST[auftrag]=="ally" && $anzahl_allyfluege > 0){
            $error = "Ein Flug zur Gründung einer Allianz ist bereits unterwegs.";
        }elseif($row[Typ]=="ally"){
            if($row[AllyID] == $spieler[Ally_Id]) {
                $error="Warum zur Allianzbasis fliegen? Benutz deinen Communicator zur Verst&auml;ndigung mit deiner Allianz! Wo leben wir denn, im 21. Jahrhundert?";
            } else {
                $error="Allianzplaneten haben meist einen Schutzschild, der alle unbekannten sich nähernden Schiffe schmilzen lässt. Gut gemeinter Rat: Besser nicht hinfliegen.";
            }
        }elseif(($_POST[auftrag]=="ally") && (!empty($_SESSION[spieler][Ally_Tag]) OR $_SESSION[Spieler][Ally_Id] > 0)){
            $error="Um eine Allianz zu gründen, darfst du nicht Mitglied in einer anderen Allianz sein.";
        }else{
			//Flug ist genehmigt ;)
            //2.1 - Sql-Befehle vorbereiten
            $sql_planet="";
            $sql_kommander="";
            //2.2 - Schiffe umrechnen
            foreach($config_schiff AS $key=>$value){
                if($_POST[schiff][$key]>0){
                    $sql_planet=$sql_planet.",$value[db]=$value[db]-".intval($_POST[schiff][$key]);
                    $sql_kommander=$sql_kommander.",$value[db]=".intval($_POST[schiff][$key]);
                    $planet[$value[db]]=$planet[$value[db]]-intval($_POST[schiff][$key]);
                }
            }
            //2.3 - Ressourcen umrechnen
            for($i=1;$i<=3;$i++){
                $sql_planet=$sql_planet.",Ress$i=Ress$i-".intval($_POST[ress][$i]);
                $sql_kommander=$sql_kommander.",Ress$i=".intval($_POST[ress][$i]);
                $planet["Ress$i"]=$planet["Ress$i"]-intval($_POST[ress][$i]);
            }
			//Energie für den Flug anziehen
			echo "Der Flug kostetet $flugkosten und dauert ".showtime($flugzeit);
            $planet["Ress".$config[flugress]]=$planet["Ress".$config[flugress]]-$flugkosten;
            //VERSCHLEIERUNG
            $sichtbar=round($gesamt*(1-(Rand(0,$spieler[Forsch_Verschleierung])/100)));
            //2.3 - SQL Befehle ausführen
            $query="UPDATE planet SET Ress".$config[flugress]."=".$planet["Ress".$config[flugress]]." $sql_planet WHERE ID=$planet[Id]";
            $db->query($query);
            $query="UPDATE kommander SET Auftrag='$_POST[auftrag]',
            Start_planet=$planet[Id],
            Start_X=$planet[PosX],
            Start_Y=$planet[PosY],
            Start_Zeit=".date(U).",
            Ziel_Planet=$row[Id],
            Ziel_X=$x,
            Ziel_Y=$y,
            Ziel_Zeit=$ankunft,
            Ziel_Spieler=$row[Spieler]
            $sql_kommander,
            Sichtbar=$sichtbar, Berechnung=0, Stationszeit=".intval($_POST[dauer])."  WHERE Id='".intval($_POST[kommander])."'";
            $db->query($query);    
            //Steuern
            if($steuersatz>0){
				//Fals es einen Steuersatz gibt,  wird dieser jetzt verrechnet
                $db->query("UPDATE ally SET Ress".$config[flugress]."=Ress".$config[flugress]."+$steuer WHERE Id=$spieler[Ally_Id];");
			}
            //Noobschutz verschieben
            if($spieler[Noobschutz]<$sp[Gesamtpunkte] AND ($_POST[auftrag]=="att" OR $_POST[auftrag]=="gematt") AND date(U)-$sp[Last]<$config[inaktiv][mark]){
                $resetNoob=date(U)+(3600*$config[noobschutz][reset]/$config[Speed]);
            	$db->query("UPDATE spieler SET Noobschutz=$sp[Gesamtpunkte], ResetNoob='$resetNoob' WHERE Id=$spieler[Id];");
			}
            //Notfalls IGMS verschicken
            if($_POST[auftrag]=="att"){
			    igm($row[Spieler],"Du wirst angegriffen", "Eine Flotte vom Spieler <a href=\"game.php?page=spielerinfo&id=$spieler[Id]\">$spieler[Name]</a> mit $gesamt Einheiten ist auf dem Weg zu deinem Planeten
                \"$row[Name]($row[PosX]:$row[PosY])\".<br><br>
                <b>Vorraussichtliche Ankunftszeit:</b>".date("d.m.Y - H:i:m",$ankunft));    
		    }
            //Das ganze im Kommadnerlog speichern
            if(debug_kommanderlog){
                logMsg("kommander/".intval($_POST[kommander]), "$_POST[auftrag] von Planet $planet[PosX]:$planet[PosY] - $planet[Name] (#$planet[Id]) nach Planet $row[PosX]:$row[PosY] - $row[Name] (#$row[Id])");
            }
			//Flottenmeldung anzeigen
            echo "<div class=\"info\" id=\"fluginfo\">Die Flotte wurde versendet</div><script type=\"text/javascript\">window.setTimeout(\"document.getElementById('fluginfo').style.display='none\'\",2000);</script>";
        }  //Ende alles ist ok und es wird geflogen
    } //Ende Kommander ist vorhanden
}

if($error!="") echo "<div class=\"error\">$error</div>";


//Actions-Id berechnen
$_SESSION[acid]=rand(111111111,9999999999);
?>
<script type="text/javascript">

	$(function(){
        //1-initialize
        //1.1 initialize Variables
        var steuersatz=0;
		var data;
		var date=<?echo date(U)?>;
		var showtimer=0;
		var posX=<?echo $planet[PosX]?>;
		var posY=<?echo $planet[PosY]?>;
		var flugfelder=0;
		var configStationVerbrauch=<?echo $config[flug][stationverbrauch]*$config[Speed]?>;
		var configflugzeitprofeld=<?echo $config[flug][flugzeit]/$config[Speed]?>;
		var configstartzeit=<?echo $config[flug][startzeit]/$config[Speed]?>;
		var configFraktionsystem=<?if($config[fraktionssystem])echo "true"; else echo "false";?>;
		var configFelderProVerbrauch=<?echo $config[flug][felderproverbrauch]?>;
		var gesamtLagerraum=0;
		var gesamtPunkte=0;
		var gesamtVerbrauch=0;
		var gesamtFlugzeit=0;
		var gesamtRess=0;
		var gesamtSchiffe=0;
		var maxPunkte=0;
		var tempo=100;
		var anfuehrer=0;
		var auftragOk=false;
		var configCommanderFlotte=<?echo $config[commander][flotte]?>;
		var configCommanderFlotteProLevel=<?echo $config[commander][flotteprolevel]?>;
		var configSchiffLager=new Array();
		var configSchiffFlugzeit=new Array();
		var configSchiffVerbrauch=new Array();
		var configSchiffPunkte=new Array();
		var dbSchiffOnPlanet=new Array();
		var dbSpielerId=<?echo $spieler[Id];?>;
		var dbAlly_Id=<?echo $spieler[Ally_Id];?>;
		var dbAlly_Rang=<?echo $spieler[Ally_Rang];?>;
		var dbFraktion=<?echo $spieler[Fraktion];?>;
		var dbGesamtpunkte=<?echo $spieler[Gesamtpunkte];?>;
		var dbNoobschutz=<?echo $spieler[Noobschutz]*$config[noobschutz][main];?>;
		
		<?php 
		foreach($config_schiff AS $key=>$value){ 
		      echo "		      
		      configSchiffLager[$key]=$value[lager];
		      configSchiffFlugzeit[$key]=$value[flugzeit];
		      configSchiffVerbrauch[$key]=$value[verbrauch];
		      configSchiffPunkte[$key]=$value[punkte];
		      dbSchiffOnPlanet[$key]=".$planet["Schiff$key"].";
		      ";
		}
		?>
		//1.2 initialize Elements        
        $('#temposlider').slider({ max: 100, min:10, value:100, animate:true, 
            change: function(event, ui) {
            	tempo=ui.value;
            	$("input[name=geschwindigkeit]").val(ui.value);
            	recalc();
            }
        });
		$('#meldung .info').hide();
		
		$('#auftrag').change(function (){onAuftragChanged()});
		$('#belastung').progressbar({value: 0});
		$('.commanderselect').click(function(){
			$(".commanderselect").removeClass("commanderselected");
			$(this).addClass("commanderselected");
			$("input[name=kommander]").val($(this).attr("kommander"));
			//max setzen
			//maxPunkte=configCommanderFlotte+(parseInt($(this).attr("level"))*configCommanderFlotteProLevel);
			maxPunkte=configCommanderFlotte*Math.pow(parseInt($(this).attr("level")),3);
			//alert("der kommander hat "+maxPunkte+" basierend auf "+parseInt($(this).attr("level")));
			recalc();
		});

		$('.koors').change(function(){
			loadplanet($("#zielX").val(),$("#zielY").val());
		});

		//Shipselect element
		$(".shipselect").each(function(){
			var id=$(this).attr("schiff");
			$(this).after("<input type=\"button\" value=\"all\" id=\"allship"+id+"\"/>");
			$("#allship"+id).click(function(){
				if(!$(".shipselect[schiff="+id+"]").attr("disabled")){
					selectallships(id);
				}
				recalc();
			});
			//Add recalc event
			$(this).change(function(){recalc()});
		});
		$('#selectAllShipsButton').click(function(){
			$('.shipselect').each(function(){ 
				selectallships($(this).attr("schiff"));
				recalc(); 
			});
		});


		//Ressselect element
		$(".ressselect").each(function(){
			var id=$(this).attr("ress");
			$(this).after("<input type=\"button\" value=\"all\" id=\"allress"+id+"\"/>");			
			$("#allress"+id).click(function(){
				if(!$(".ressselect[ress="+id+"]").attr("disabled")){
					var r=parseInt($("#ress"+id).val());			
					possible=gesamtLagerraum-gesamtRess;	
					if(r<possible) $(".ressselect[ress="+id+"]").val(r);
					else $(".ressselect[ress="+id+"]").val(possible);
				}
				recalc();
			});
			//Add recalc event
			$(this).change(function(){recalc()});
		});
		
		
        //2. Define Functions
        function selectallships(id){
        	if(configSchiffPunkte[id]>0){
            	possible=Math.floor((maxPunkte-gesamtPunkte)/configSchiffPunkte[id]);
        	}else{
            	possible=Math.floor(dbSchiffOnPlanet[id]);
        	}
			if(possible<=0) possible=0;
			if(possible>dbSchiffOnPlanet[id]) $(".shipselect[schiff="+id+"]").val(dbSchiffOnPlanet[id]);
			else $(".shipselect[schiff="+id+"]").val(possible);
        }
        function errormgr(msg){
            alert("error");
        }
        function getData(row,table) {return $(table,data).find(row).text();}
        
        function loadplanet(x,y){
            //alert("loadplanet with "+x+", "+y);
            $.post("ajax.php", { mod: "anfliegen", task: "loadplanet", x: x,y: y }, function(xml){
            	data=xml;
				//Planetinfo setzen
				$("#planetimg").attr("src", "images/planeten/planet"+getData("Bild","planet")+".png");
                $("#planetinfo").html(getData("Name","planet")+"(<a href=\"game.php?page=showplayer&id="+getData("Id","spieler")+"\">"+getData("Name","spieler")+"</a>)");
                //Auftrag festlegen
                $("#auftrag").empty();
                $("#auftrag").append("<option value=\"\">Auftrag wählen</option>");
                if(getData("Urlaub_Bis","spieler")<date){
                    //Flugtypen eintragen
                    if(getData("Id","spieler")==0 && getData("Typ","planet")=="kolonie") {
            			$("#auftrag").append("<option value=\"erkunden\">Erkunden</option>");
            		}
		            if(getData("Id","spieler")==0 && getData("Typ","planet")=="kolonie") {
						$("#auftrag").append("<option value=\"kolo\">Kolonisieren</option>");
					}
				    if(getData("Id","spieler")==0 && getData("Typ","planet")=="kolonie" && dbAlly_Id==0) {
						$("#auftrag").append("<option value=\"ally\">Allianz gründen</option>");
					}
					if(configFraktionsystem && getData("Typ","planet")=="fraktion"){
						if(getData("Fraktion","planet")!=dbFraktion){
							$("#auftrag").append("<option value=\"fraktion\">Fraktion vernichten</option>");
						}
						$("#auftrag").append("<option value=\"deffraktion\">Fraktion verteidigen</option>");						
					}
					if(getData("Id","spieler")>0 && getData("Id","spieler")!=dbSpielerId){
						$("#auftrag").append("<option value=\"att\">Angreifen</option>");
						$("#auftrag").append("<option value=\"gematt\">Gemeinsamer Angriff</option>");
						$("#auftrag").append("<option value=\"spion\">Ausspionieren</option>");						
					}				
					if(getData("Id","spieler")==dbSpielerId){
						$("#auftrag").append("<option value=\"verleg\">Flotte verlegen</option>");
					}
					if(getData("Id","spieler")>0){
						$("#auftrag").append("<option value=\"ress\">Ressourcen senden</option>");
						$("#auftrag").append("<option value=\"station\">Flotte stationieren</option>");
					}	
                }else{
                    //Spieler ist beurlaubt, keine Flüge sind zulässig
                    $("#msgUrlaub").show("1000");
                }     
                //Flugzeit berechnen
                if(posX > getData("PosX","planet")){
                	var abstandX=posX-getData("PosX","planet");
            	}else{
                	var abstandX=getData("PosX","planet")-posX;
            	}
            	if(posY > getData("PosY","planet")){
                	var abstandY=posY-getData("PosY","planet");
            	}else{
                	var abstandY=getData("PosY","planet")-posY;
            	}
                flugfelder=Math.sqrt((abstandX*abstandX)+(abstandY*abstandY));
                recalc();                        
            });
        }//ende loadplanet

        function showtime(zeit)
        {
          var ss=zeit;
          var hh=0;
          var mm=0;
          while(ss>=3600)
          {
            hh++;
            ss-=3600
          }
          while(ss>=60)
          {
            mm++;
            ss-=60
          }
          if(hh<10) hh="0"+hh;
          if(mm<10) mm="0"+mm;
          if(ss<10) ss="0"+ss;
          return hh+":"+mm+":"+ss;
        }
        
        function recalc(){
            //Sum all ships
        	gesamtLagerraum=0;
    		gesamtPunkte=0;
    		gesamtVerbrauch=0;
    		gesamtFlugzeit=0;
    		gesamtSchiffe=0;
            $(".shipselect[disabled!=true]").each(function(){
                var i=$(this).attr("schiff");
                var anzahl=parseInt($(this).val());
            	gesamtLagerraum+=configSchiffLager[i]*anzahl;
        		gesamtPunkte+=configSchiffPunkte[i]*anzahl;
        		gesamtVerbrauch+=configSchiffVerbrauch[i]*anzahl;
        		gesamtSchiffe+=anzahl;
        		if(configSchiffFlugzeit[i]>gesamtFlugzeit && anzahl>0) gesamtFlugzeit=configSchiffFlugzeit[i];		
						
            });
			//Ress summieren
			gesamtRess=0;
            $(".ressselect[disabled!=true]").each(function(){
                var i=$(this).attr("ress");
                gesamtRess+=parseInt($(this).val());						
            });
            
            
            var belastung=Math.round(gesamtPunkte/maxPunkte*100);            
            $('#belastung').progressbar("value", belastung);
            if(belastung>100){
                $('#belastung').addClass("toHigh");
                
            }else{
                $('#belastung').removeClass("toHigh");
            }
            //Lagerraum
            $("#labelLagerraum").html(gesamtRess+"/"+gesamtLagerraum);

            //Flugzeit
            var gesch=1+((100-tempo)/100)
            if($("#auftrag").val()=="erkunden" || $("#auftrag").val()=="spion"){
            	$("#labelFlugzeit").html(showtime(Math.round(configflugzeitprofeld*flugfelder*gesamtFlugzeit*gesch)));
            }else{
            	$("#labelFlugzeit").html(showtime(Math.round(configstartzeit+(configflugzeitprofeld*flugfelder*gesamtFlugzeit*gesch))));
            }
            //Flugkosten
            var spar=tempo/100;
            if(spar<0.5){spar=0.5;}
            verbrauch=(gesamtVerbrauch+(gesamtVerbrauch*flugfelder/configFelderProVerbrauch))*spar;
            //Bei Stationierung kommt noch was drauf
            if($("#auftrag").val()=="station" || $("#auftrag").val()=="deffraktion"){
                verbrauch+=parseInt($("select[name=dauer]").val())/configStationVerbrauch*gesamtVerbrauch;
            }
            //Steuern
            steuer=verbrauch*steuersatz/100;
            verbrauch=Math.ceil(verbrauch+steuer);
            $("#labelFlugkosten").html(verbrauch);
            //Entscheidung ob der Flug gestartet werden kann,
            $("#submitButton").attr("disabled", true);

            if($("#auftrag").val()=="") {
				$("#submitButton").val("Bitte wähle einen Auftrag aus");
			}else if(!auftragOk) {
				$("#submitButton").val("Bitte wähle einen anderen Auftrag");				
			}else if($("input[name=kommander]").val()==0) {
				$("#submitButton").val("Bitte wähle einen Kommander aus");
			}else if(gesamtSchiffe==0){
				$("#submitButton").val("Bitte wähle min. 1 Schiff aus");
			}else if(belastung>100){
				$("#submitButton").val("Der Kommander ist überlasted");
			}else{
				$("#submitButton").attr("disabled", false);
				$("#submitButton").val("abflug!");
			}
			
        }
        
        function onAuftragChanged(){
            auftragOk=true;
			var auft=$("#auftrag").val();
			$(".shipselect").attr("disabled",false);
			$(".ressselect").attr("disabled",false);
			//Spionagedrohnen sind nur fürs erkunden !!!
			if(auft!="spion" && auft!="erkunden" &&auft!="verleg"){
				$(".shipselect[schiff=1]").attr("disabled",true);
			}
			//Beim erkunden gibts nur spionagedrohnen
			if(auft=="spion" || auft=="erkunden"){
				$(".shipselect").attr("disabled",true);
				$(".shipselect[schiff=1]").attr("disabled",false);
			}
			//Nur kolonien können invasiert und eingenommen werden
			if(getData("Typ","planet")!="kolonie" && (auft=='att' || auft=='gematt')){
				$("#msgNoBombing").show(showtimer);
				$(".shipselect[schiff=11]").attr("disabled",true);
				$(".shipselect[schiff=12]").attr("disabled",true);				
			}else{
				$("#msgNoBombing").hide(showtimer);
			}
			//Manchmal macht es keinen Sinn, Rohstoffe mit zu senden
			if(auft=="ress" || auft=="station" || auft=="verleg" || auft=="kolo" || auft=="ally" || auft=="deffraktion"){
				$(".ressselect").attr("disabled",false);
			}else{
				$(".ressselect").attr("disabled",true);
			}
			//Informationene
			if(getData("Noobschutz","spieler")<dbGesamtpunkte && getData("inaktiv","spieler")=="false" && (auft=="att"||auft=="gematt")){
				$('#msgNoobschutz').show();
	            auftragOk=false;				
			}else{
				$('#msgNoobschutz').hide();
			}
			if(getData("Gesamtpunkte","spieler")>dbNoobschutz && getData("inaktiv","spieler")=="false" && (auft=="att"||auft=="gematt")){
				$('#msgNoobschutzMove').show();
			}else{
				$('#msgNoobschutzMove').hide();
			}
				
			//Extra Optionen 
			//Extra Optionen bei Gematt
			$("#special").empty();
			//TODO: einbauen
			if(auft=="gematt" || auft=="fraktion"){
				var html="";
				html+="<select name=\"anfuehrer\">";
				html+="<option value=\"0\">Als Anführer</option>";
				html+="</select>";				
				$("#special").html(html);
				$("select[name=anfuehrer]").change(function(){recalc()});	
				$("select[name=anfuehrer]").click(function(){
					anfuehrer=$(this).val();
				});			
			}
			

			//Extra Optionen beim Stationieren
			if(auft=="station" || auft=="deffraktion"){
				var html="<b>Dauer: </b>";
				html+="<select name=\"dauer\">";
				html+="  <option value=\"3600\">1 Stunde</option>";
				html+="  <option value=\"7200\">2 Stunden</option>";
				html+="  <option value=\"21600\">6 Stunden</option>";
				html+="  <option value=\"43200\">12 Stunden</option>";
				html+="  <option value=\"86400\">1 Tag</option>";
				html+="  <option value=\"172800\">2 Tage</option>";
				html+="  <option value=\"259200\">3 Tage</option>";
				html+="</select>";				
				$("#special").html(html);
				$("select[name=dauer]").change(function(){recalc()});
				
			}
			recalc();			

        }

		function gematt(){
			if($("#auftrag").val()=="gematt"  || $("#auftrag").val()=="fraktion"){
				$.post("ajax.php", { mod: "anfliegen", task: "gematt", x: getData("PosX","planet"),y: getData("PosY","planet") }, function(xml){
					
					$("select[name=anfuehrer]").empty();
					$("select[name=anfuehrer]").append("<option value=\"\">Als Anführer</option>");
					$("kommander",xml).each(function(){
						if(anfuehrer==$(this).find("Id").text()){ 
							$("select[name=anfuehrer]").append("<option value="+$(this).find("Id").text()+" selected=\"selected\">unterstütze "+$(this).find("Name").text()+"</option>");
						}else{
							$("select[name=anfuehrer]").append("<option value="+$(this).find("Id").text()+">unterstütze "+$(this).find("Name").text()+"</option>");
						}
					});
				});//end of post
			}
			window.setTimeout(gematt, 3000);	
		}

        //lade startposition
        loadplanet(<?php echo $x?>,<?php echo $y?>);
  
        gematt();
    });
</script>
<style type="text/css">
	#temposlider{float:right; width:100px; height:10px;}
	#temposlider a{width:5px; height: 15px; margin: 0 3 0 3;}
	#belastung{height:12px; width:70px; float:right;}
	
	.commanderselect{height:35px;}
	.commanderselect td{text-align:left;}
	.commanderselect img{height:20px;}
	.commanderselect:hover img{height:30px;}
	.commanderselect:hover {font-weight:bold;}
	.commanderselected img{height:30px;}
	.commanderselected {font-weight:bold; background-color:#222;}
	.ui-progressbar-value{background-image:none; background-color: orange;}
	.toHigh .ui-progressbar-value{background-image:none; background-color: red;}
	
</style>
<h1>Flottenauftrag:</h1>
<form action="<? echo $_SERVER[PHP_SELF]?>" method="post">
  <input type="hidden" name="do" value="abflug" />
  <input type="hidden" name="acid" value="<? echo $_SESSION[acid]?>" />
  <fieldset>
    <legend>Flugoptionen</legend>
    <table align="center" width="100%">
      <tr>
        <td align="right" width="40%">
          <b>Start: </b>
          <img src="images/planeten/planet<?php echo $planet[Bild] ?>.png" height="15px;" />
            <?php
            echo "
            $planet[PosX]:$planet[PosY] - $planet[Name]($spieler[Name])
            ";
            ?>
        </td>
        <td width="4%">
            <img src="images/flug_raus_green.png" height="11px" width="62px">
        </td>
    	<td align="left" width="56%" colspan="2">
          <b>Ziel</b>
            <img src="images/planet00.png" height="15px;" id="planetimg"/>
            <input type="text" name="ziel_x" class="koors" id="zielX" value="<?echo $_SESSION[ziel_x]?>" size="2"/>:
            <input type="text" name="ziel_y" class="koors" id="zielY" value="<?echo $_SESSION[ziel_y]?>" size="2"/>         
            <span id="planetinfo"></span>
        </td>
      </tr>
      <tr>
        <td colspan="4" class="trennlinie"></td>
      </tr>
      <tr>
        <th align="right">
          <b>Flugzeit:</b> <span id="labelFlugzeit">00:00:00</span>&nbsp;
          <input type="hidden" name="geschwindigkeit" value="100"/>
          <div id="temposlider"></div>
        </th>    
        <td>&nbsp;</td>
        <td align="left" width="150px">
          <select name="auftrag" id="auftrag" style="width:150px">
            <option value="">Auftrag wählen</option>
          </select>
        </td>
        <td align="left" id="special"  width="250px">            
        </td>
      </tr>
    </table>
    <ul id="meldung">
    	<li class="info2" style="display:none;" id="msgUrlaub">Der Spieler befindet sich momentan im Urlaub</li>
    	<li class="info2" style="display:none;" id="msgNoBombing">Nur Kolonien können zerstört oder eingenommen werden.</li>
    	<li class="info2" style="display:none;" id="msgNoobschutz">Der Spieler befindet sich im Noobschutz und kann daher nicht angegriffen werden</li>
    	<li class="info2" style="display:none;" id="msgNoobschutzMove">Achtung, wenn du diesen Spieler angreifst, verschiebt sich dein Noobschutz</li>
    	<li class="info2" style="display:none;" id="msgKolonie">Zum Gründen einer Kolonie benötigen sie einen Kommander mit min. Level 5</li>
    	<li class="info2" style="display:none;" id="msgInva">Der Kommander muss Level 15 sein um zu invasieren und Level 20 um ihn zu zerstören</li>
    	<li class="info2" style="display:none;" id="msgAlly">Um eine Allianz zu gründen brauchst du 4000 Einheiten von jeder Ressource</li>      
    </ul>
  </fieldset>    
  <table style="width:100%;">
    <tr>
      <td valign="top" width="50%">
        <fieldset style="height:420px">
        <legend>Schiffe</legend>
          <center>
            <table>
            	<tr>
            		<td>Belastung des Kommanders:</td>
            		<td><div id="belastung"></div></td>
            	</tr>
            </table>          	
          </center>
          <table align="center">
            <?php
            $selectall="";
            foreach($config_schiff AS $key=>$value){
              ?>                
              <tr>
                <th>
                  <?php echo $value[name][$spieler[Fraktion]]." (".$planet[$value[db]].")";?>
                </th>
                <td>
                  <input type="text" name="schiff[<?php echo $key?>]" schiff="<?php echo $key?>" class="shipselect" value="0" size="4">                    
                </td>
              </tr>
              <?php
            } 
            ?>  
            <tr>
              <th colspan="2" align="center">
                <input type="button" value="Alle Schiffe anwählen" id="selectAllShipsButton">
              </th>
          </table> 
        </fieldset>
      </td>
      <td valign="top" width="50%">
        <fieldset>
          <legend>Kommander auswählen:</legend>
          <input type="hidden" name="kommander"/>
               
          <div style="height: 145px; overflow:auto; text-align:center; vertical-align:center;">
               
          <?
          $abfrage = "SELECT * FROM kommander WHERE Start_Planet='$planet[Id]' AND Auftrag='' AND Spieler='$spieler[Id]';";
          $result=$db->query($abfrage);
          if($db->num_rows($result)==0){
             echo "<a href=\"game.php?page=newkommander\"><font color=\"red\">Keine Kommander vorhanden</font></a>";
          }else{
              echo "
              	<table width=\"100%\" cellspacing=\"0\">";
                  while($zeile=$db->fetch_assoc($result)){
                      $level=calclevel($zeile[Erfahrung]); 
                      if(file_exists("data/kommander/kommander-$zeile[Id].png")) $img="data/kommander/kommander-$zeile[Id].png";
                      else $img="images/kommander/nopic-$spieler[Fraktion].png";                   
                   	  echo "
                      <tr class=\"commanderselect\" id=\"commander$zeile[Id]\" level=\"$level\" kommander=\"$zeile[Id]\">       	    
                  	    <td width=\"15%\">
                  	      <img src=\"$img\" >
                  	    </td>
                  	    <td width=\"85%\">
                          $zeile[Name] (Level: $level)
                        </td>
                      </tr>
                      ";
                  }
                  echo "
              </table>
              ";
          }
          ?>    
          </div>      
        </fieldset>
        <fieldset>
          <legend>Rohstoffe:</legend>
          <table width="100%">
          	<tr>
          		<td width="60%" align="right">
                  <table align="center">          
                    <?php
                    for($i=1; $i<=3; $i++){
                        ?>
                        <tr>
                          <th><?php echo $config_ress[$i][name]?>:</th>
                          <td>
                            <input type="text" name="ress[<?php echo $i ?>]" class="ressselect" ress="<?php echo $i ?>" value="0" size="5" />                            
                          </td>
                        </tr>
                        <?php 
                    }
                    ?>
                  </table>
                </td>
                <td width="5%" valign="top" align="center">
                  <img src="images/lager.png" alt="Lagerraum an Bord der Schiffe"/>
                </td>
                <td width="25%" valign="top" align="center">
         			<span id="labelLagerraum">0/0</span>
         		</td>
         	  </tr>
         	</table>
         </fieldset>
                 
                      
        <fieldset>
          <legend>Flugkosten:</legend>
          <center>
            <span id="labelFlugkosten">200</span>
            <b>Energie</b>
            <br>
            (incl <?echo $steuersatz?>% Flugsteuer)
          </center>
        </fieldset>
        <fieldset>
          <input type="submit" value="abflug!" id="submitButton" style="width:100%;">
        </fieldset>
      </td>
    </tr>
  </table> 
</form>

   
